#pragma once


#include "../SGD Wrappers/SGD_Geometry.h"
#include <vector>
#include <string>


class CFrame 
{
public:
	CFrame();
	~CFrame();

	void SetDuration			(float duration)		{ fDuration = duration; }
	void SetAnchor				(SGD::Point anchor)		{ ptAnchor = anchor; }
	void SetFrame				(SGD::Rectangle rect)	{ rFrame = rect; }
	void SetFloorHit			(SGD::Rectangle rect)	{ rFloorHitbox = rect; }

	float GetDuration			(void)					{ return fDuration; }
	SGD::Point GetAnchor		(void)					{ return ptAnchor; }
	SGD::Rectangle GetRect		(void)					{ return rFrame; }
	
	SGD::Rectangle GetFloorHit	(void)					{ return rFloorHitbox; }

	SGD::Rectangle GetActiveRect(int num);
	SGD::Rectangle GetPassiveRect();
	int GetNumActiveRects();

	void AddActiveHit(SGD::Rectangle activeHit);
	void AddPassHit(SGD::Rectangle passiveHit);

	std::string cTrigger;

private:
	float fDuration; // wait time on this frame
	SGD::Point ptAnchor; // relative position within source
	SGD::Rectangle rFrame; // source rectangle

	// array of chars for the trigger events
	 

	// storage for sprite hitboxes
	std::vector< SGD::Rectangle > vActiveHitbox;
	SGD::Rectangle vPassiveHitbox;
	SGD::Rectangle rFloorHitbox;
};

